#ifndef _LABEL_
#define _LABEL_

#include "InterfaceElement.hpp"


/** 
* A text field container.
*/
class Label:public InterfaceElement{
protected:
    static sf::Font defaultFont;
    static bool fontLoaded;
public:
    sf::Text labelText;
    
    Label();
    Label(int fontSize, sf::Color fontColor, std::string text);
    Label(int x, int y, int fontSize, sf::Color fontColor);
    Label(int x, int y, int fontSize, sf::Color fontColor, std::string text);
    Label(int x, int y, int fontSize, sf::Color fontColor, sf::Text::Style fontStyle, std::string text);
    
    virtual void setString(std::string text);
    virtual void setString(int fontSize, sf::Color fontColor, sf::Text::Style fontStyle, std::string text);
    std::string getString();
    virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const;
};

#endif